home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / pcfig4th.zip / TRIG.SCR < prev    next >
Text File  |  1985-04-23  |  3KB  |  1 lines

  1.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ( TRIG LOOKUP ROUTINES WITH SINE * 10000 TABLE )                : TABLE ( ... N -> , CREATE 'TABLE' DATA TYPE  )                  <BUILDS 0 DO , LOOP   ( COMPILE N ELEMENTS )                    DOES> SWAP 2 * + @    ( EXECUTE TABLE LOOKUP )                ;                                                               10000 9998 9994 9986 9976 9962 9945 9925 9903 9877               9848 9816 9781 9744 9703 9659 9613 9563 9511 9455               9397 9336 9272 9205 9135 9063 8988 8910 8829 8746               8660 8572 8480 8387 8290 8192 8090 7986 7880 7771               7660 7547 7431 7314 7193 7071 6947 6820 6691 6561               6428 6293 6157 6018 5878 5736 5592 5446 5299 5150               5000 4848 4695 4540 4384 4226 4067 3907 3746 3584               3420 3256 3090 2924 2756 2588 2419 2250 2079 1908               1736 1564 1391 1219 1045 0872 0698 0523 0349 0175               0000 ( 91 ELEMENTS OF TABLE PLACED ON STACK )                   91 TABLE SINTABLE -->                                          ( TRIG TABLE LOOKUP ROUTINES, CONTINUED )                       : S180 ( N -> N  RETURNS SINE 0-180 DEGREES )                     DUP 90 >   ( IF GREATER THAN 90 DEGREES )                       IF 180 SWAP - ENDIF ( SUBTRACT FROM 180 )                       SINTABLE ( THEN TAKE SINE )                                   ;                                                               : SIN  ( N -> SINE  RETURN SINE OF ANY NO. OF DEGREES )           360 MOD   ( BRING WITHIN + OR - 360 )                           DUP 0< IF 360 + ENDIF ( IF NEGATIVE, ADD 360 )                  DUP 180 >  ( TEST IF GREATER THAN 180 )                         IF 180 - S180 MINUS ( IF SO, SUBTRACT 180, NEGATE SINE )        ELSE S180 ENDIF ( OTHERWISE, STRAIGHTFORWARD )                ;                                                               : COS  ( N -> COSINE )                                            360 MOD ( PREVENT OVERFLOW NEAR 32767 )                         90 + SIN ; ( COS IS SIN WITH 90 DEG PHASE SHIFT )